﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using AssetManagementSystem.Model;
using AssetManagementSystem.Utils;
using AssetManagementSystem.Utils.Events;

namespace AssetManagementSystem.View.IView {
    interface ILoanView {

        void SetLoanList(List<Loan> loans);
        void SetAvailableAssets(List<Asset> assets);
        void ShowMessage(string message);

        //Events to retrieve data
        event EventHandler Loans_LoadAll;
        event EventHandler<SearchEventArgs> Loans_Find;

        //Events to store/update data
        event EventHandler<LoanEventArgs> Loan_Create;
        event EventHandler<LoanEventArgs> Loan_Return;
        event EventHandler<LoanAssetEventArgs> LoanAsset_Return;
        event EventHandler LoanAssets_LoadAvailable;

        event EventHandler<LoanEventArgs> Loan_Notify;

        //delete data (note: loans are not deleted, only returned).
        //event EventHandler<LoanEventArgs> Loan_Delete;

    }
}
